//package com.goats.config;
//
//import java.util.HashMap;
//import java.util.Map;
//import java.util.concurrent.Semaphore;
//
///**
// * 区分同类设备使用一把锁，并且只有一个线程能同时访问。
// * 不同设备间是异步发送指令的
// */
//public class MultiInstanceSemaphore {
//    public static final Map<String, MultiInstanceSemaphore> instances = new HashMap<>();
//    private final Semaphore semaphore;
//
//    // 私有构造函数，防止直接实例化
//    private MultiInstanceSemaphore() {
//        this.semaphore = new Semaphore(1); // 只允许一个线程访问
//    }
//
//    // 获取实例方法，根据名称返回不同的Semaphore实例
//    public static MultiInstanceSemaphore getInstance(String name) {
//        synchronized (instances) {
//            return instances.computeIfAbsent(name, k -> new MultiInstanceSemaphore());
//        }
//    }
//
//    public Semaphore getSemaphore() {
//        return semaphore;
//    }
//
//}
